//
//  BaseTableViewController.swift
//  Weibo
//
//  Created by 潇 on 15/12/14.
//  Copyright © 2015年 潇. All rights reserved.
//
//OC中没有多继承,可以用协议替代

import UIKit

//根据用户是否登录 去显示访客视图还是现实表视图
class BaseTableViewController: UITableViewController,VisitorLoginViewDelegate {

    //设置用户是否登录的标记
    var userLogin = UserAccountViewModel().userLogin //UserAccount.loadAccount() != nil
    
    //新建属性访客视图
    var visitorLoginView : VisitorLoginView?
    //设置新建属性访客视图
//    var visitorLoginView: VisitorLoginView?
    //加载子视图,准备所有的视图层次关系
    override func loadView() {
        
        if userLogin {//没登陆
            super.loadView()
        } else {//登录了
        
            setVisitorLoginView()
        }
        //直接打印会报错.如果系统检测到 view(根视图)  会自动调用 loadview
//        print(view)
    }
    
    
    //登录了得访客视图显示
    private func setVisitorLoginView() {
    
        visitorLoginView = VisitorLoginView()
//        v.backgroundColor = UIColor.redColor()
        //设置代理 
        visitorLoginView?.visitorViewDelegate = self
        view = visitorLoginView
        
//        //设置导航条登录和注册的颜色  需要提前设置,运行 APP时设置
//        UINavigationBar.appearance().tintColor = themeColor
        self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "登录", style: .Plain, target: self, action: "userWillLogin")
        self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "注册", style: .Plain, target: self, action: "userWillRegister")
    }
    
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
    }

    
    //登录的代理方法
    func userWillLogin() {
    
        print(__FUNCTION__)
        
        let oauth = OAuthViewController()
        //添加到导航视图控制器
        let nav = UINavigationController(rootViewController: oauth )
        presentViewController(nav, animated: true, completion: nil)
        
    }
    //注册的代理方法
    func userWillRegister() {
        
        print(__FUNCTION__)
        
    }
    
    
    
    
    
    
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    // MARK: - Table view data source

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 0
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return 0
    }

}